home *** CD-ROM | disk | FTP | other *** search
/ Magic Disk 64 / Magic_Disk_64_95-06_1995_-_de_Side_A.d64 / sprite-source #1 < prev    next >
Text File  |  2023-02-26  |  4KB  |  243 lines

  1.  
  2.  
  3. ;---------------------------------------
  4. ;
  5. ;          - S P R I T E S -
  6. ;
  7. ;           Source-File #1:
  8. ;
  9. ;     'Beschl.Joystick-Steuerung'
  10. ;
  11. ;          by Hannes Sommer
  12. ;
  13. ;       (c) 1993 CP-Verlag Gmbh
  14. ;
  15. ;---------------------------------------
  16.  
  17.  
  18. v        = 53248
  19.  
  20.  
  21.          *= $0840
  22.  
  23.          .byte 0,255,0,3,255,192
  24.          .byte 15,255,240,31,255,248
  25.          .byte 63,255,252,63,255,252
  26.          .byte 127,189,254,127,189,254
  27.          .byte 255,189,255,255,255,255
  28.          .byte 255,255,255,247,255,239
  29.          .byte 251,255,223,124,126,62
  30.          .byte 127,129,254,63,255,252
  31.          .byte 63,255,252,31,255,248
  32.          .byte 15,255,240,3,255,192
  33.          .byte 0,255,0,0
  34.  
  35.  
  36.          lda #1    ;Initialisierung!
  37.          sta v+21
  38.          lda #0
  39.          sta v+16
  40.          lda #160
  41.          sta v
  42.          lda #136
  43.          sta v+1
  44.          lda #33
  45.          sta 2040
  46.          lda #7
  47.          sta v+39
  48.  
  49.          sei
  50.          lda #<irq
  51.          sta $0314
  52.          lda #>irq
  53.          sta $0315
  54.          lda #129
  55.          sta $d01a
  56.          lda #27
  57.          sta $d011
  58.          lda #250
  59.          sta $d012
  60.          cli
  61.  
  62.          ldx #0
  63. i1       lda text,x
  64.          beq i2
  65.          jsr $ffd2
  66.          inx
  67.          bne i1
  68. i2
  69.  
  70.  
  71. end      rts
  72.  
  73.  
  74. text     .byte 13,18
  75.          .text "joystick-abfrage im "
  76.          .text "irq aktiviert."
  77.          .byte 146,13,13,0
  78.  
  79.  
  80.  
  81. ;---------------------------------------
  82. ;               I R Q
  83. ;---------------------------------------
  84.  
  85.  
  86. irq      lda $d019
  87.          sta $d019
  88.          bmi t1
  89.          lda $dc0d
  90.          cli
  91.          jmp $ea31
  92.  
  93. t1
  94.          lda $dc00  ;Joystick!
  95.          sta joyst
  96.          and #1     ;up ?
  97.          bne t5
  98.          lda ypoint
  99.          cmp #1
  100.          beq t10
  101.          dec ypoint
  102.          jmp t10
  103. t5       lda joyst
  104.          and #2     ;down ?
  105.          bne t8
  106.          lda ypoint
  107.          cmp #31
  108.          beq t10
  109.          inc ypoint
  110.          bne t10
  111. t8       lda #0     ;Y-Bremse...
  112.          inc t8+1
  113.          and #1
  114.          bne t10
  115.          lda ypoint
  116.          cmp #16
  117.          beq t10
  118.          bcc t9
  119.          dec ypoint
  120.          bne t10
  121. t9       inc ypoint
  122. t10
  123.          lda joyst
  124.          and #4     ;left ?
  125.          bne t15
  126.          lda xpoint
  127.          cmp #1
  128.          beq t20
  129.          dec xpoint
  130.          jmp t20
  131. t15      lda joyst
  132.          and #8     ;right ?
  133.          bne t18
  134.          lda xpoint
  135.          cmp #31
  136.          beq t20
  137.          inc xpoint
  138.          bne t20
  139. t18      lda #0     ;X-Bremse...
  140.          inc t18+1
  141.          and #1
  142.          bne t20
  143.          lda xpoint
  144.          cmp #16
  145.          beq t20
  146.          bcc t19
  147.          dec xpoint
  148.          bne t20
  149. t19      inc xpoint
  150. t20
  151.  
  152.  
  153.          lda ypoint ;Y-moving !
  154.          clc
  155.          adc #1
  156.          lsr a
  157.          lsr a
  158.          tax
  159.          lda v+1
  160.          clc
  161.          adc speedtab,x
  162.          sta v+1
  163.          cmp #50
  164.          bcs t21
  165.          lda #50
  166.          sta v+1
  167.          lda ypoint
  168.          eor #31
  169.          clc
  170.          adc #2
  171.          sta ypoint
  172.          jmp t25
  173. t21      cmp #230
  174.          bcc t25
  175.          lda #230
  176.          sta v+1
  177.          lda ypoint
  178.          and #254
  179.          eor #31
  180.          sta ypoint
  181. t25
  182.  
  183.          lda xpoint ;X-moving !
  184.          clc
  185.          adc #1
  186.          lsr a
  187.          lsr a
  188.          tax
  189.          cpx #4
  190.          bcs t35
  191.          lda v
  192.          clc
  193.          adc speedtab,x
  194.          sta v
  195.          bcs t31
  196.          lda #0
  197.          sta v+16
  198. t31
  199.          lda v+16
  200.          bne t40
  201.          lda v
  202.          cmp #24
  203.          bcs t40
  204.          lda #24
  205.          sta v
  206.          lda xpoint
  207.          eor #31
  208.          clc
  209.          adc #2
  210.          sta xpoint
  211.          jmp t40
  212.  
  213. t35      lda v
  214.          clc
  215.          adc speedtab,x
  216.          sta v
  217.          bcc t36
  218.          lda #1
  219.          sta v+16
  220. t36      lda v+16
  221.          beq t40
  222.          lda v
  223.          cmp #63
  224.          bcc t40
  225.          lda #64
  226.          sta v
  227.          lda xpoint
  228.          and #254
  229.          eor #31
  230.          sta xpoint
  231. t40
  232.  
  233.  
  234.          jmp $ea81
  235.  
  236.  
  237. joyst    .byte 0
  238. xpoint   .byte 16
  239. ypoint   .byte 16
  240. speedtab .byte 252,253,254,255,0
  241.          .byte 1,2,3,4
  242.  
  243.